#include "commonuse.h"
//枚举常量，枚举常量里面得值再枚举常量里面定义·之后，就不可以再改变
//枚举常量里面的定义是，第一个变量赋值，默认为0，
//后面的变量没赋值，默认是前面的枚举常量的值加1。
//枚举的优点：提高代码可读性，可维护性，便于调试
//相比较于#define定义的更加严谨
//防止命名污染
//使用方便，可以一次定义多个变量。
// enum week
// {
//     Monday,
//     tuseday,
//     wendesday,
// };
// int main()
// {
    
//     system("pause");
//     return 0;
// }



//联合体，其使用方法和结构体类似
union un
{
    char c[5];
    int i;
}u;
int main()
{
    printf("%d\n",sizeof(u));
    printf("%p\n",&(u.c));
    printf("%p\n",&(u.i));
    printf("%p\n",&u);
    //打印结果发现，我们地址是一样的
    //这说明公用体是一起用一个地址，这也说明了共用体的特点
    //利用这个特点，我们就可以判断大小端储存
    u.i = 1;
    printf("%d\n", u.c);//打印结果发现，那么就说明是小端
    //
    system("pause");
    return 0;
} 
//公用体特点，说明公用体里面的成员不能去改变，
//因为地址是一样的，一般也就是
//当最大成员不是对齐数的时候，那么联合体就调整到对齐数的整数倍。
//也就是说，联合体区别于结构体的地方是，联合体内存公用，故而有些操作需要去注意。


